﻿using Student.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Student
{
    public partial class FormMain : Form
    {
        public FormMain()
        {
            InitializeComponent();
            //状态栏的标题
            this.toolStripStatusLabel1.Text = "当前用户:[" + Program.CurrentAccount.UserName + "]";
        }

 
      
        // 封装一个添加子窗体的方法
        //参数代表要添加的子窗体 类型是窗体类型 Form类型
        public void AddChildForm(Form c)
        {
            // 先把panel2中的所有的窗体关闭，再把添加窗体进行展示

            foreach (var item in this.splitContainer1.Panel2.Controls) // 遍历panel2上所有的控件 item就是所有控件
            {
                if (item is Form) //判断控件是不是form类型 如果是 关闭
                {
                    (item as Form).Close();  // 把窗体关闭
                }
            }

            // 开始添加新的子窗体
            c.TopLevel = false;  // 1 把添加的子窗体设置为非顶级窗体，

            //2 设置子级窗体边框为none
            c.FormBorderStyle = FormBorderStyle.None;

            //3 让子级窗体最大化显示 
            c.WindowState = FormWindowState.Maximized;

            //4 设置子级窗体的父窗体
            c.Parent = this.splitContainer1.Panel2;

            //5 子级窗体显示
            c.Show();
        }
        // 添加学员的按钮点击方法 
        private void button1_Click_1(object sender, EventArgs e)
        {
            //调用上面添加子级窗体的方法
            AddChildForm(new FormAddStudent());
        }
        // 学员管理的方法
        private void button2_Click_1(object sender, EventArgs e)
        {
            AddChildForm(new FormManager());
        }

        // 考勤打卡
        private void button3_Click(object sender, EventArgs e)
        {
            AddChildForm(new DaKa());
        }

        private void button4_Click(object sender, EventArgs e)
        {
            AddChildForm(new DaKaChaXun());
        }

        // 切换账号的点击方法
        private void button5_Click(object sender, EventArgs e)
        {
            // 以一个对话框的形式展示登录界面
            FormLogin formLogin = new FormLogin();
             DialogResult r =   formLogin.ShowDialog(); //对话结果 按了确定或者取消键
            if (r == DialogResult.OK)
            {
                // 在进入主页面 但是没有必要再进入主页面。当前页面已经是主页面 只需要改状态栏标题即可
                this.toolStripStatusLabel1.Text = "当前用户:[" + Program.CurrentAccount.UserName + "]";
            }

        }
        // 修改密码 创建一个新窗体   修改完密码之后一定把密码再次存入本地，
        // 
        private void button6_Click(object sender, EventArgs e)
        {
            Update up = new Update();
            up.Show(); // 展示窗体

        }

    
    }
}
